package com.jiuli_travel.blog_service.model.entity;

import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

@Data
public class Blog {
    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 标题
     */
    private String title;

    /**
     * 推荐话题标签
     */
    private String recommendedTopicTags;

    /**
     * 艾特用户
     */
    private String aiteUsers;

    /**
     * 图片
     */
    private String images;

    /**
     * 内容
     */
    private String content;

    /**
     * 点赞数
     */
    private Integer likedCount;

    /**
     * 收藏次数
     */
    private Integer collectCount;

    /**
     * 评论数
     */
    private Integer commentCount;

    /**
     * 浏览次数
     */
    private Integer viewCount;

    /**
     * 分享次数
     */
    private Integer shareCount;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 逻辑删除标志：0 - 未删除，1 - 已删除
     */
    @TableLogic
    private Integer isDeleted;

    /**
     * list To JsonStr
     */
    public void doListToJsonStr(List<String> imageList, List<String> recommendedTopicTagList, List<String> aiteUserList){
        // 1.1 对于list数据转化为json
        String images = JSONUtil.toJsonStr(imageList);
        this.setImages(images);
        // 1.2 对于list数据转化为json
        String getRecommendedTopicTags = JSONUtil.toJsonStr(recommendedTopicTagList);
        this.setRecommendedTopicTags(getRecommendedTopicTags);
        // 1.3 对于list数据转化为json
        String aiteUsers = JSONUtil.toJsonStr(aiteUserList);
        this.setAiteUsers(aiteUsers);
    }

}
